
strchr.o:     file format elf64-littleaarch64


Disassembly of section .text:

0000000000000000 <main>:
#include <stdio.h>
#include <string.h>

void main()
{
   0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
   4:	910003fd 	mov	x29, sp
    char *data = "xiaozhi{sdf[234";
   8:	90000000 	adrp	x0, 0 <main>
   c:	91000000 	add	x0, x0, #0x0
  10:	f9000fa0 	str	x0, [x29, #24]
    char *pstr = NULL;
  14:	f9000bbf 	str	xzr, [x29, #16]

    pstr = strchr(data, '{');
  18:	52800f61 	mov	w1, #0x7b                  	// #123
  1c:	f9400fa0 	ldr	x0, [x29, #24]
  20:	94000000 	bl	0 <strchr>
  24:	f9000ba0 	str	x0, [x29, #16]

    if (pstr != NULL) {
  28:	f9400ba0 	ldr	x0, [x29, #16]
  2c:	f100001f 	cmp	x0, #0x0
  30:	540000c0 	b.eq	48 <main+0x48>  // b.none
        printf("pstr = %s\n", pstr);
  34:	90000000 	adrp	x0, 0 <main>
  38:	91000000 	add	x0, x0, #0x0
  3c:	f9400ba1 	ldr	x1, [x29, #16]
  40:	94000000 	bl	0 <printf>
  44:	14000004 	b	54 <main+0x54>
    }
    else {
        printf("pstr is blank\n");
  48:	90000000 	adrp	x0, 0 <main>
  4c:	91000000 	add	x0, x0, #0x0
  50:	94000000 	bl	0 <puts>
    }

    pstr = strchr(data, '[');
  54:	52800b61 	mov	w1, #0x5b                  	// #91
  58:	f9400fa0 	ldr	x0, [x29, #24]
  5c:	94000000 	bl	0 <strchr>
  60:	f9000ba0 	str	x0, [x29, #16]

    if (pstr != NULL) {
  64:	f9400ba0 	ldr	x0, [x29, #16]
  68:	f100001f 	cmp	x0, #0x0
  6c:	540000c0 	b.eq	84 <main+0x84>  // b.none
        printf("pstr = %s\n", pstr);
  70:	90000000 	adrp	x0, 0 <main>
  74:	91000000 	add	x0, x0, #0x0
  78:	f9400ba1 	ldr	x1, [x29, #16]
  7c:	94000000 	bl	0 <printf>
    }
    else {
        printf("pstr is blank\n");
    }
}
  80:	14000004 	b	90 <main+0x90>
        printf("pstr is blank\n");
  84:	90000000 	adrp	x0, 0 <main>
  88:	91000000 	add	x0, x0, #0x0
  8c:	94000000 	bl	0 <puts>
}
  90:	d503201f 	nop
  94:	a8c27bfd 	ldp	x29, x30, [sp], #32
  98:	d65f03c0 	ret
